package com.account.domains;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 核销流水表
 * </p>
 *
 * @author ganhuaicheng
 * @since 2017-09-19
 */
@TableName("local_cancellation_flow")
public class LocalCancellationFlow implements Serializable {

    private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId(type = IdType.AUTO)
	private Long id;

	/**
	 * 项目id
	 */
	@TableField(value="pro_id")
	private Long proId;

	/**
	 * 还款计划id(帐单ID)
	 */
	@TableField(value="repayment_plan_id")
	private Long repaymentPlanId;

	/**
	 * 还款计划执行任务id
	 */
	@TableField(value="repayment_task_id")
	private Long repaymentTaskId;

	/**
	 * 还款计划执行任务id
	 */
	@TableField(value="repayment_task_detail")
	private Long repaymentTaskDetail;

	/**
	 * 用户id
	 */
	@TableField(value="customer_id")
	private Long customerId;

	/**
	 * 核销金额(单位:分)
	 */
	@TableField(value="cancellation_amt")
	private BigDecimal cancellationAmt;

	/**
	 * 核销本金金额(单位:分)
	 */
	@TableField(value="cancellation_prin")
	private BigDecimal cancellationPrin;

	/**
	 * 核销利息金额(单位:分)
	 */
	@TableField(value="cancellation_interest")
	private BigDecimal cancellationInterest;

	/**
	 * 核销罚息金额(单位:分)
	 */
	@TableField(value="cancellation_penalty")
	private BigDecimal cancellationPenalty;

	/**
	 * 核销违约金金额(单位:分)
	 */
	@TableField(value="cancellation_damages")
	private BigDecimal cancellationDamages;

	/**
	 * 核销gps费用(单位:分)
	 */
	@TableField(value="cancellation_gps_cost")
	private BigDecimal cancellationGpsCost;

	/**
	 * 核销延保费(单位:分)
	 */
	@TableField(value="cancellation_extended_warranty")
	private BigDecimal cancellationExtendedWarranty;

	/**
	 * 应收手续费(单位:分)
	 */
	private BigDecimal poundage;

	/**
	 * 核销时间
	 */
	@TableField(value="cancellation_time")
	private Date cancellationTime;

	/**
	 * 核销操作用户id
	 */
	@TableField(value="cancellation_user_id")
	private Long cancellationUserId;

	/**
	 * 还款平台（默认：0；1：连连）
	 */
	@TableField(value="pay_platform")
	private Integer payPlatform;

	/**
	 * 还款来源 1：系统代扣；2：汇款;3:快捷支付）
	 */
	@TableField(value="fund_source")
	private Integer fundSource;

	/**
	 * 还款类型 1：正偿还款；2：逾期还款;3:提前还款）
	 */
	@TableField(value="repayment_type")
	private Integer repaymentType;

	/**
	 * 逻辑删除标记  0：有效;1：删除
	 */
	@TableField(value="is_delete")
	private Integer isDelete;

	/**
	 * 创建时间
	 */
	@TableField(value="create_time")
	private Date createTime;

	/**
	 * 更新时间
	 */
	@TableField(value="update_time")
	private Date updateTime;



	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getProId() {
		return proId;
	}

	public void setProId(Long proId) {
		this.proId = proId;
	}

	public Long getRepaymentPlanId() {
		return repaymentPlanId;
	}

	public void setRepaymentPlanId(Long repaymentPlanId) {
		this.repaymentPlanId = repaymentPlanId;
	}

	public Long getRepaymentTaskId() {
		return repaymentTaskId;
	}

	public void setRepaymentTaskId(Long repaymentTaskId) {
		this.repaymentTaskId = repaymentTaskId;
	}

	public Long getRepaymentTaskDetail() {
		return repaymentTaskDetail;
	}

	public void setRepaymentTaskDetail(Long repaymentTaskDetail) {
		this.repaymentTaskDetail = repaymentTaskDetail;
	}

	public Long getCustomerId() {
		return customerId;
	}

	public void setCustomerId(Long customerId) {
		this.customerId = customerId;
	}

	public BigDecimal getCancellationAmt() {
		return cancellationAmt;
	}

	public void setCancellationAmt(BigDecimal cancellationAmt) {
		this.cancellationAmt = cancellationAmt;
	}

	public BigDecimal getCancellationPrin() {
		return cancellationPrin;
	}

	public void setCancellationPrin(BigDecimal cancellationPrin) {
		this.cancellationPrin = cancellationPrin;
	}

	public BigDecimal getCancellationInterest() {
		return cancellationInterest;
	}

	public void setCancellationInterest(BigDecimal cancellationInterest) {
		this.cancellationInterest = cancellationInterest;
	}

	public BigDecimal getCancellationPenalty() {
		return cancellationPenalty;
	}

	public void setCancellationPenalty(BigDecimal cancellationPenalty) {
		this.cancellationPenalty = cancellationPenalty;
	}

	public BigDecimal getCancellationDamages() {
		return cancellationDamages;
	}

	public void setCancellationDamages(BigDecimal cancellationDamages) {
		this.cancellationDamages = cancellationDamages;
	}

	public BigDecimal getCancellationGpsCost() {
		return cancellationGpsCost;
	}

	public void setCancellationGpsCost(BigDecimal cancellationGpsCost) {
		this.cancellationGpsCost = cancellationGpsCost;
	}

	public BigDecimal getCancellationExtendedWarranty() {
		return cancellationExtendedWarranty;
	}

	public void setCancellationExtendedWarranty(BigDecimal cancellationExtendedWarranty) {
		this.cancellationExtendedWarranty = cancellationExtendedWarranty;
	}

	public BigDecimal getPoundage() {
		return poundage;
	}

	public void setPoundage(BigDecimal poundage) {
		this.poundage = poundage;
	}

	public Date getCancellationTime() {
		return cancellationTime;
	}

	public void setCancellationTime(Date cancellationTime) {
		this.cancellationTime = cancellationTime;
	}

	public Long getCancellationUserId() {
		return cancellationUserId;
	}

	public void setCancellationUserId(Long cancellationUserId) {
		this.cancellationUserId = cancellationUserId;
	}

	public Integer getPayPlatform() {
		return payPlatform;
	}

	public void setPayPlatform(Integer payPlatform) {
		this.payPlatform = payPlatform;
	}

	public Integer getFundSource() {
		return fundSource;
	}

	public void setFundSource(Integer fundSource) {
		this.fundSource = fundSource;
	}

	public Integer getRepaymentType() {
		return repaymentType;
	}

	public void setRepaymentType(Integer repaymentType) {
		this.repaymentType = repaymentType;
	}

	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

}
